﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Text;
using System.Text.RegularExpressions;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace Mindfor.Web.Data
{
	/// <summary>
	/// Class for Mail template type data object.
	/// </summary>
	public class MailTemplateType : IdEntity
	{
		/// <summary>
		/// Gets or sets template type name.
		/// </summary>
		[DisplayName("Название")]
		[Required(ErrorMessage = "Введите название")]
		[StringLength(255, ErrorMessage = "Название должно быть не длиннее 255 символов")]
		[RegularExpression("^([a-zA-Z0-9]*)$", ErrorMessage = "Название может состоять только из латинских букв или цифр")]
		public virtual string Name { get; set; }

		/// <summary>
		/// Gets or sets template type module name.
		/// </summary>
		[DisplayName("Модуль")]
		[Required(ErrorMessage = "Введите название модуля")]
		[StringLength(255, ErrorMessage = "Название модуля должно быть не длиннее 255 символов")]
		public virtual string ModuleName { get; set; }

		/// <summary>
		/// Gets or sets description.
		/// </summary>
		[DisplayName("Описание")]
		public virtual string Description { get; set; }

		/// <summary>
		/// Initializes new instance.
		/// </summary>
		public MailTemplateType()
		{
		}

		/// <summary>
		/// Initializes new instance.
		/// </summary>
		/// <param name="name">Template type name.</param>
		/// <param name="moduleName">Module name.</param>
		public MailTemplateType(string name, string moduleName)
		{
			Name = name;
			ModuleName = moduleName;
		}
	}
}
